package com.fowo.api.model.fine.use.voucher;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ContentStyle;
import com.alibaba.excel.enums.poi.HorizontalAlignmentEnum;
import com.fowo.api.common.validator.EnumsString;
import javax.validation.constraints.*;
import lombok.Getter;
import lombok.Setter;

/** 分摊凭证 导入导出辅助模型 */
@Getter
@Setter
public class FineUseVoucherExcelPo {

  @Size(max = 50, message = "借方店铺长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "借方店铺")
  private String shop;

  @ExcelProperty(value = "金额")
  private java.math.BigDecimal money;

  @Size(max = 50, message = "借方事业部长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "借方事业部")
  private String division;

  @Size(max = 50, message = "借方部门长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "借方部门")
  private String department;

  @Size(max = 50, message = "日期长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "日期")
  private String jsDate;

  @EnumsString(
    value = { "是", "否" },
    message = "是否推送的可用值为 “是”, “否” 其中之一"
  )
  @Size(max = 50, message = "是否推送长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "是否推送")
  private String isPublish;

  @Size(max = 50, message = "币种长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "币种")
  private String currency;

  @Size(max = 50, message = "借方科目编号长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "借方科目编号")
  private String fdebitAccountCode;

  @Size(max = 50, message = "贷方科目编号长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "贷方科目编号")
  private String fcreditAccountCode;

  @Size(max = 50, message = "贷方供应商长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "贷方供应商")
  private String dsupplier;

  @Size(max = 50, message = "贷方客户长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "贷方客户")
  private String dcustom;

  @Size(max = 50, message = "贷方员工长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "贷方员工")
  private String dstaff;
}
